前面幾篇,我們其實一直在討論同一類操作需求: 下一個要拿哪一筆資料? Queue 的答案是最早進來的那一筆。 Priority Queue 的答案是現在最...
上一篇談 Priority Queue 時,我們看到了一件很重要的事: 資料不一定按照進來的時間被處理,「誰先被拿出來」本身就是問題的一部分。 Queue...
上一篇我們從超商結帳、客服電話與列印工作認識了 Queue。簡單複習一下 Queue,例如四個人依序進入隊伍: A → B → C → D 那麼處理順序自然就...
你走進超商,前面已經有三個人在排隊。你站到隊伍最後面,等待前面的人依序結帳。我甚至不用特別講,你也能腦補這個機制: 第一個來的人先結帳 第二個來的人接著結帳...
如果要用 JavaScript 儲存一群資料,我們其實很容易想到一個最直覺的答案: const users = ["Alice", &quo...
現在如果想寫一個 Queue、Binary Search,甚至 Dijkstra,最簡單的方法可能已經不是打開課本,而是直接問 AI。幾秒鐘後,我們就能得到一段...
今天要來進到新的單元~還記得我們在第一天有簡單提到 Stack 嗎?接下來要更加了解他 堆疊(Stack)是什麼? 堆疊是一種只能在同一端(稱為頂端,Top)進...
消除你程式碼的臭味 Day 7- 資料結構至上:好程式碼的關鍵思考 搞錯了資料結構,寫的就不是程式碼,是日後要爆炸的地雷。 Bad programmers...
前言 前天和昨天,我們進行promptTemplate和langServe快速部屬api的操作範例,但今天介紹及說明另外一個核心功能,結構化輸出structur...
終於到最後一天了,在這過程中有著無數次催隊友快點發文,也有幾次差點忘記需要寫文,甚至最近因為社團的事情和比賽沒有什麼時間可以寫文章,所以內容越來越簡單,不過終究...
前言 今天是中秋節,所以就分享一些學習資源以供大家自學、參考,以下資源皆為免費內容,請安心服用 講義 以下是我過去所使用過的學習資源,有些因為難度太高半途而廢,...
昨天介紹了 HashMap 將 key 定位到 bucket 的過程。而本文主要解說的是,在一個 bucket 中,要如何找到 key 所對應的節點,進而討論為...
概念 Linked List 是一種線性資料結構,可以從中間直接插入元素,相對陣列來說會比較省時,不過在競賽程式其實我其實一次也沒有用過,原因我會在底下做說明。...
嗨!大家好!了解完如何載入和觀察資料後,接著將開始一系列對資料內容的操作,今天的主題為「新增資料」,內容分別以Pandas兩種常見的數據結構說明,包含:...
在昨天的文章中,筆者對「雜湊」(hash)做了介紹。而接下來兩天的文章要以此為基礎,進一步認識 Java 8 的 HashMap 是怎麼儲存和查詢資料的。Has...
前言 今天帶兩題題目,一題跟 stack 相關一題跟 queue 相關,為的是讓大家可以更了解怎麼應用這些資料結構,而不是只有瞭解概念 UVa 10935 Th...
Java 有兩種常見的資料結構,叫做「HashSet」和「HashMap」。那麼「Hash」是什麼呢?本文會先用生活情境的例子來介紹雜湊資料結構,後面兩篇則進一...
概念 昨天,我們以排隊吃拉麵的情境為例,介紹了佇列(Queue)的基本概念。今天,我們將深入探討 stack 的實作方式,以及在 C++ 中如何使用陣列和 C+...
上一篇文章中,介紹了 Pandas 中的 Series 結構,今天要和大家聊聊 Pandas 中最常使用的資料結構——DataFrame,其概念和操作都和...
概念 如果有排隊吃拉麵的經驗,就會理解到一個隊伍一定是按照先來的人先進店吃的原則,這就是佇列(Queue)的基本概念,也稱為「先進先出」(First-In Fi...
學習撰寫程式時,常會遇到資料結構(Data Structure)這個詞彙,指的是如何用最有利的型態儲存或組織資料,並將其存在記憶體當中,以便電腦更有效率的使...
資料結構 在資訊工程學系中,資料結構是非常重要的一門課。在資訊科學中,資料結構是電腦中儲存、組織資料的方式,像是陣列(array)、佇列(queue)、堆疊(s...
何謂複雜度 通常在解題或打競程時都會看到題目有時間與記憶體限制,而這基本上會跟你程式的時間/空間複雜度(Time/Space Complexity)有關。 ex...
簡介 首次參與鐵人賽,我將在為期 30 天的比賽中,分享我多年來在參加比賽中所學到的資料結構和演算法知識。我將深入探討這些主題的概念,同時不定時比較高中和大學競...
Bomb Lab實驗紀錄 GDB常用指令 gcc -g test.c生成可除錯文件 gdb a.out進行除錯 r 程式開始執行 q 離...
此演算法是由一位叫 Edsger Dijkstra 的荷蘭工程師所發明,他在電腦科學領域貢獻了許多奠定目前網際網路、電腦科學與數位服務等等的基礎。 在學習 D...
當要取得、更新、檢查 Graph 裡所有的節點時就會需要用到 Traversal 方法,常見的使用場景為點對點的網際網路、網站爬蟲、導航、迷宮問題或遊戲類的 A...
簡言之, Graph 就是很多個節點與節點之間的連線所組成的,前幾天提到的 Three 也算是 Graph 的一種 , Graph 主要有以下幾點特色: Gr...
From Medium Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。 而 Hash Table 在找特定資料與新增刪除...
Heap Sort 使用 Binary Heap 處理資料排序,也可視為 Selection Sort 的改良版。 兩者一樣都是將資料分成兩區,一區為排序好的,...